package 笔试题.顺丰;

import java.util.Scanner;

/**
 * 货车运输
 * 题目描述：
 * 港口新到了n个货物，工人们需要将它们通过货车运送到公司。货物会先后到达港口，第i个到达港口的货物是第i号，价值是a[i]。现在有k辆货车，每辆货车可以将编号连续的货物一起运输，容量无限，运输费用为该车货物价值的和的平方，每辆车必须装载货物。你是运输货车公司的老板，你想在赚大钱的同时降低每辆车装载货物数以控制成本。请问最大的运输费用是多少，以及在费用最大时装载货物最多的货车至少需要装载多少货物。
 * <p>
 * 输入描述
 * 第一行两个数n,k。
 * <p>
 * 接下来n个数a[]，第i个数为a[i]。
 * <p>
 * 输出描述
 * 两个数，第一个数表示最大运输费用，第二个数表示此时运输货物最多的货车最少需要装载的货物数量。
 * <p>
 * 样例输入
 * 6 3
 * 0 0 1 1 0 0
 * 样例输出
 * 4 2
 * <p>
 * 提示
 * 1≤k≤n≤300
 * 0≤a[i]≤100
 * 分组(1 2)(3 4)(5 6)，费用为0+2+0 = 2, 货车最大装载量为2。
 *
 * 27%
 */
public class test2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] a = new int[n];
        int start = 0;
        int end = 0;
        int temp = 0;
        for (int i = 0; i < n; i++) {
            a[i] = sc.nextInt();
            if (start == 0) {
                if (a[i] != 0) {
                    start = i;
                }
            }
            if (a[i] != 0) {
                temp += a[i];
            }
        }
        for (int i = n - 1; i >= 0; i--) {
            if (a[i] != 0) {
                end = i;
                break;
            }
        }
        int count = end - start + 1;
        temp *= temp;
        System.out.println(temp + " " + count);
    }
}
